<!DOCTYPE HTML>
<html>
<head><meta name="generator" content="Hexo 3.9.0">
  <meta charset="utf-8">
  
  <title>知识点总结 › 但行好事，莫问前程</title>
  <meta name="author" content="fengbo">
  
  <meta name="description" content="不想当架构师的程序员不是好厨师 ，不认为PHP是世界上最好的编程语言的Python开发者不是一个好的Javaer。">
  
  
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

  <meta property="og:title" content="知识点总结">
  <meta property="og:site_name" content="但行好事，莫问前程">

  
    <meta property="og:image" content="undefined">
  

  <link href="/favicon.png" rel="icon">
  <link rel="alternate" href="/atom.xml" title="但行好事，莫问前程" type="application/atom+xml">
  <link rel="stylesheet" href="/css/style.css" media="screen" type="text/css">
  <!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
  

</head>
</html>

<body>
  <header id="header"><div class="meta inner">
  <h1><a href="/">但行好事，莫问前程</a></h1>
  <h2><a href="/">CV工程师，了解面向Google编程的基本原理，有三年使用Google经验，在通往程序员的道路上艰难的爬行着。</a></h2>
  <nav id="main-nav">
    <ul>
      
      <li><a href="/">Home</a></li>
      
      <li><a href="/archives">Archives</a></li>
      
      <li><a href="/atom.xml">RSS</a></li>
      
    </ul>
    <div class="clearfix"></div>
  </nav>
</div>
<div class="clearfix"></div>
</header>
  <div id="content" class="inner">
    <div id="main-col" class="alignleft"><div id="wrapper"><article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title">知识点总结</h1>
  

      
        <time datetime="1919-02-06T00:11:16.000Z">1919-02-06</time>
      
    </header>
    <div class="entry">
      
        <p>总结自己会的知识点和接下来需要学习的东西。<br><a id="more"></a></p>
<h2 id="学习规划"><a href="#学习规划" class="headerlink" title="学习规划"></a>学习规划</h2><h3 id="自己的知识优先级"><a href="#自己的知识优先级" class="headerlink" title="自己的知识优先级"></a>自己的知识优先级</h3><p>英语+数据结构与算法+高等数学 –&gt; 操作系统和计算机网络 –&gt; 网络编程（Web服务器）+Netty+Java基础和JVM+Spring全家桶Web编程。 </p>
<h3 id="2019技术规划-2019-04-02"><a href="#2019技术规划-2019-04-02" class="headerlink" title="2019技术规划 - 2019/04/02"></a>2019技术规划 - 2019/04/02</h3><ol>
<li>结合慕课网的<a href="https://coding.imooc.com/class/chapter/230.html#Anchor" target="_blank" rel="noopener">Java读源码之Netty深入剖析</a>阅读Netty整体代码。</li>
<li>结合Unix网络编程卷一和传智播客的Linux系统编程视频学习netty-transport-native-epoll模块的代码。</li>
<li>结合HTTP权威指南阅读Netty对HTTP协议的基础实现代码，例如HTTP编解码器等。</li>
</ol>
<h2 id="基础部分"><a href="#基础部分" class="headerlink" title="基础部分"></a>基础部分</h2><h3 id="数据结构"><a href="#数据结构" class="headerlink" title="数据结构"></a>数据结构</h3><ul>
<li>时间复杂度与空间复杂度的计算；逻辑结构（集合、线性、树形、图形）；存储结构（顺序存储–&gt;数组、链式存储–&gt;链表、索引存储和Hash存储）。</li>
<li>线性结构：线性表；操作受限的线性表（栈和队列）；特殊矩阵的压缩存储。</li>
<li>树形结构：满二叉树和完全二叉树；二叉树的遍历（先中后层）和线索二叉；二叉排序（查找）树和平衡二叉树；红黑树；哈夫曼树和哈夫曼编码。</li>
<li>图形结构：无向图、有向图和网络；图的表示方法（邻接矩阵和邻接表）；图的遍历（深度优先搜索和广度优先搜索）；最小生成树；最短路径问题；拓扑排序；关键路径。<ul>
<li>图的深度优先搜索类似树的先序遍历，广度优先遍历类似树的层序遍历。</li>
</ul>
</li>
<li>数据查找：顺序查找、折半查找和分块（索引）查找；B树和B+树；散列函数的构造和Hash冲突的解决。</li>
<li>排序算法：插入排序（直接插入、折半插入、希尔排序）；交换排序（冒泡排序和快速排序）；选择排序（简单选择和堆排序）；归并排序；基数排序；外部排序（多路归并排序）。</li>
</ul>
<h3 id="操作系统"><a href="#操作系统" class="headerlink" title="操作系统"></a>操作系统</h3><ul>
<li>进程管理：即CPU管理。进程的切换（状态和转换、PCB）；进程同步与数据共享；用户级线程与内核级线程。</li>
<li>内存管理：内存分配（分页、分段）；逻辑地址与物理地址；虚拟内存与页面置换算法。</li>
<li>文件管理：文件逻辑结构和目录的实现；磁盘管理与磁盘调度算法。</li>
</ul>
<h3 id="计算机网络"><a href="#计算机网络" class="headerlink" title="计算机网络"></a>计算机网络</h3><ul>
<li>链路层：交换机（MAC地址表）；以太网协议；ARP协议。</li>
<li>网际层：路由器（路由表），路由选择算法；IPv4、IPv6和移动IP。</li>
<li>传输层：TCP协议；三次握手四次挥手；保证可靠性（超时重传、滑动窗口）；流量控制和拥塞窗口。</li>
</ul>
<h2 id="Java开发部分"><a href="#Java开发部分" class="headerlink" title="Java开发部分"></a>Java开发部分</h2><h3 id="Java基础"><a href="#Java基础" class="headerlink" title="Java基础"></a>Java基础</h3><ul>
<li>Java数据结构：HashMap –&gt; LinkedHashMap –&gt; TreeMap –&gt; ConcurrentHashMap（段锁、CAS）。</li>
<li>Java并发编程：wait()和sleep(long)区别；volatile原理；ThreadLocal原理；同步器（CountDownLatch）；synchronized和Lock的区别（可中断锁、tryLock、多个Condition、公平锁）；锁升级（偏向锁、轻量级锁、锁自旋）；乐观锁（CAS）。</li>
<li>Java虚拟机：GCRoot（静态变量和常量等所引用的变量）；Java虚拟机内存划分；Java虚拟机类加载机制（双亲委派模式）；判断对象是否死亡（引用计数和可达性分析）；Java内存模型。</li>
<li>设计模式：单例、工厂、生产者消费者；代理、迭代器、装饰者；策略和模板方法。</li>
</ul>
<h3 id="开发框架"><a href="#开发框架" class="headerlink" title="开发框架"></a>开发框架</h3><ul>
<li>Spring：IoC（循环依赖）；AOP（动态代理和CGLIB）；Spring事务（什么时候使用编程实事务、事务隔离级别、事务的传播级别）；Spring MVC（请求过程）；SpringBoot（依赖优于配置）。</li>
<li>Dubbo：服务治理和服务发现过程；软负载均衡算法（默认是基于权重的随机算法）；Dubbo健壮性（注册中心挂了）；Dubbo重连问题；Dubbo保证幂等性原理。</li>
<li>Netty：NIO编程（和BIO的区别、epoll机制、水平触发和边缘触发）；TCP拆包粘包（特殊分隔符–&gt;换行符、消息头携带消息体长度）；TCP长连接（心跳机制确认客户端是否存活）。</li>
</ul>
<h3 id="数据库"><a href="#数据库" class="headerlink" title="数据库"></a>数据库</h3><ul>
<li>MySQL：索引原理（B树、B+树）；隔离掉脏读（MVCC）、不可重复读（行锁）和幻读（Gap锁）。</li>
<li>Redis：五种数据类型；过期删除策略；两种持久化方式；内存溢出的控制策略；Redis事务；实现分布式锁。</li>
</ul>

      
    </div>
      
      <footer>
        
        
        
  <div class="addthis addthis_toolbox addthis_default_style">
    
      <a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>
    
    
      <a class="addthis_button_tweet"></a>
    
    
      <a class="addthis_button_google_plusone" g:plusone:size="medium"></a>
    
    
      <a class="addthis_button_pinterest_pinit" pi:pinit:layout="horizontal"></a>
    
    <a class="addthis_counter addthis_pill_style"></a>
  </div>
  <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js"></script>

      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>

<!-- 来必力City版安装代码 -->
<!-- <div id="lv-container" data-id="city" data-uid="MTAyMC8yOTQ5MS82MDU5">
<script type="text/javascript">
   (function(d, s) {
       var j, e = d.getElementsByTagName(s)[0];

       if (typeof LivereTower === 'function') { return; }

       j = d.createElement(s);
       j.src = 'https://cdn-city.livere.com/js/embed.dist.js';
       j.async = true;

       e.parentNode.insertBefore(j, e);
   })(document, 'script');
</script>
<noscript>为正常使用来必力评论功能请激活JavaScript</noscript>
</div> -->
<!-- City版安装代码已完成 -->

</div></div>
    <aside id="sidebar" class="alignright">
  
<div class="widget tagcloud">
  <h3 class="title">文章分类</h3>
  <div class="entry">
    <a href="/tags/JavaWeb/" style="font-size: 17.14px;">JavaWeb</a> <a href="/tags/Java基础/" style="font-size: 15.71px;">Java基础</a> <a href="/tags/Java高级特性/" style="font-size: 15.71px;">Java高级特性</a> <a href="/tags/Python/" style="font-size: 10px;">Python</a> <a href="/tags/Spring基础/" style="font-size: 14.29px;">Spring基础</a> <a href="/tags/WebRTC/" style="font-size: 10px;">WebRTC</a> <a href="/tags/其它/" style="font-size: 20px;">其它</a> <a href="/tags/分布式/" style="font-size: 11.43px;">分布式</a> <a href="/tags/硬件/" style="font-size: 12.86px;">硬件</a> <a href="/tags/计算机基础/" style="font-size: 18.57px;">计算机基础</a> <a href="/tags/设计模式/" style="font-size: 17.14px;">设计模式</a>
  </div>
</div>



    <div class="widget tagcloud">
    <h3 class="title">电子书</h3>
    <ul class="entry">
      <li class='link'><a href='http://www.duokan.com/' target="_blank">多看阅读</a>&nbsp;&nbsp;<a href='https://read.douban.com/' target="_blank">豆瓣阅读</a>&nbsp;&nbsp;<a href='http://e.dangdang.com/' target="_blank">当当阅读</a></li>
      <li class='link'><a href='http://www.ituring.com.cn/' target="_blank">图灵社区</a>&nbsp;&nbsp;<a href='https://www.epubit.com/' target="_blank">异步社区</a>&nbsp;&nbsp;<a href='https://www.geekbang.org/' target="_blank">极客空间</a></li>
    </ul>
  </div>


  
  <div class="widget tag">
    <h3 class="title">友情链接</h3>
      <ul class="entry">
        
          <li class='link'><a href='http://www.cnblogs.com/jietang/' target="_blank">唐洁的博客</a></li>
        
          <li class='link'><a href='http://rednaxelafx.iteye.com/' target="_blank">R大的博客</a></li>
        
          <li class='link'><a href='http://www.hollischuang.com/' target="_blank">阿里大神的博客</a></li>
        
          <li class='link'><a href='http://blog.csdn.net/IT_faquir/' target="_blank">IT_faquir的专栏</a></li>
        
      </ul>
  </div>


  
  <div class="widget tag">
    <h3 class="title">思维导图</h3>
      <ul class="entry">
        
          <li class='link'><a href='https://fengbo4213.github.io/img/开源协议.png' target="_blank">开源协议简介</a></li>
        
          <li class='link'><a href='https://www.processon.com/diagraming/5b0cf757e4b009aef58d4b9d' target="_blank">我的知识体系</a></li>
        
          <li class='link'><a href='https://www.processon.com/view/link/5a2a00e5e4b015e677290b4f' target="_blank">简单的网站架构</a></li>
        
      </ul>
  </div>


  
  <div class="widget tag">
    <h3 class="title">在线手册</h3>
      <ul class="entry">
        
          <li class='link'><a href='http://v3.bootcss.com/' target="_blank">BootStrap官方手册</a></li>
        
          <li class='link'><a href='http://www.iconfont.cn/http://element.eleme.io/#/zh-CN/' target="_blank">阿里巴巴矢量图标库</a></li>
        
      </ul>
  </div>


  
<div class="widget tag">
  <h3 class="title">最新文章</h3>
  <ul class="entry">
    
      <li>
        <a href="/2123/08/30/基础之MySQL原理/">MySQL原理</a>
      </li>
    
      <li>
        <a href="/2024/01/01/其它之ClickHouse索引/">ClickHouse索引</a>
      </li>
    
      <li>
        <a href="/2023/12/17/其它之MySQL线程池/">MySQL线程池</a>
      </li>
    
      <li>
        <a href="/2023/12/16/其它之InnoDB性能优化基础/">InnoDB性能优化基础</a>
      </li>
    
      <li>
        <a href="/2023/12/03/其它之Java8之后的版本新特性/">Java8之后的版本新特性</a>
      </li>
    
  </ul>
</div>

</aside>
    <div class="clearfix"></div>
  </div>
  <footer id="footer" class="inner"><div class="alignleft">
  
  &copy; 2024 fengbo
  
</div>
<div class="clearfix"></div></footer>
  <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>



</body>
</html>

